# -*- coding: utf-8 -*-
"""
 @Time    : 2021/2/2 下午4:12
 @Author  : tgy

钻石继承规则:

    1.两个类的公共父类的属性查找必定在两个子类查找之后才查找，这样表现了类的多态性质。
    2.同一级别的父类，按照类定义时继承的书写顺序查找对应父类命名空间，如果在前一父类

可以明确知道自己的命名空间中属性来源，从而避免进行父类属性查找
"""

class A:
    age = 20

    def run(self):
        ...
        print('A')

class C(A):
    age = 50

    def run(self):
        print('C')

class B(C):
    ...


class C(A):
    age = 30
    def run(self):
        print('C')

class D(B,C):
    ...
    age = A.age
    def run(self):
        C.run(self)


if __name__ == '__main__':
    ...
    print(D.age)
    a = D()
    a.run()